//此模块用于存储当前用户的权限和菜单及路由信息
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default({
  state:{
    menuList:null,  //菜单列表
    permList:null,  //权限列表
    hasRoute:false,//用于判断是否已经加载过路由，避免每次路由时都会执行动态绑定路由
    editableTabsValue:"Index",  //打开的标签页
    editableTabs: [{      //所有标签页
      title: '首页',
      name: 'Index',
    }]
  },
  mutations:{
    setMenuList(state,memu){  //修改菜单列表
      state.menuList = memu
    },
    setPermList(state,perm){  //修改权限列表
      state.permList = perm
    },
    setHasRoute(state,flag){  //修改已获取路由标志
      state.hasRoute = flag;
      sessionStorage.setItem("hasRoute",flag)
    },
    addTab(state,tab) {  //添加标签页  解决直接用导航访问页面时不添加标签问题在 App.vue中
      //先判断有无此标签页，如没有才添加
      let flag = state.editableTabs.findIndex(e=>e.name===tab.name)
      if(flag===-1){
        state.editableTabs.push({
          title: tab.title,
          name: tab.name,
        });
      }
      state.editableTabsValue = tab.name;
    }
  },
  actions: {
  },
})
